﻿<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
  <xsl:import href="Common.xslt"/>
  <xsl:param name="id"/>
  <!--ROOT-->
  <xsl:output method="text" indent="no"/>
  <xsl:template match="/">
    <xsl:apply-templates select="/assembly"/>
  </xsl:template>

  <!--DOCUMENT-->
  <xsl:template match="/assembly">
    <xsl:call-template name="processNamespace">
      <xsl:with-param name="ns" select="namespace[@id=$id]" />
    </xsl:call-template>
  </xsl:template>

  <xsl:template name="processNamespace">
    <xsl:param name="ns"/>

    <xsl:text>#summary API documentation for the </xsl:text>
    <xsl:value-of select="$ns/@caption"/>
    <xsl:text> Namespace
#labels WikiDoc,Namespace
#sidebar </xsl:text>
    <xsl:value-of select="$ns/@sidebar"/>
    <xsl:text>
</xsl:text>
    <xsl:apply-templates select="$ns/comments" mode="h1"/>
    <xsl:text>
</xsl:text>
    <xsl:if test="$ns/enum">
      <xsl:text>
= Enumerations =
|| *Enumeration* || *Summary* ||
</xsl:text>
      <xsl:apply-templates select="$ns/enum">
        <xsl:sort select="@caption"/>
      </xsl:apply-templates>
      <xsl:text>
</xsl:text>
    </xsl:if>
    <xsl:if test="$ns/interface">
      <xsl:text>
= Interfaces =
|| *Interface* || *Summary* ||
</xsl:text>
      <xsl:apply-templates select="$ns/interface">
        <xsl:sort select="@caption"/>
      </xsl:apply-templates>
      <xsl:text>
</xsl:text>
    </xsl:if>
    <xsl:if test="$ns/struct">
      <xsl:text>
= Structures =
|| *Structure* || *Summary* ||
</xsl:text>
      <xsl:apply-templates select="$ns/struct">
        <xsl:sort select="@caption"/>
      </xsl:apply-templates>
      <xsl:text>
</xsl:text>
    </xsl:if>
    <xsl:if test="$ns/class|$ns/generic">
      <xsl:text>
= Classes =
|| *Class* || *Summary* ||
</xsl:text>
      <xsl:apply-templates select="$ns/class|$ns/generic">
        <xsl:sort select="@caption"/>
      </xsl:apply-templates>
      <xsl:text>
</xsl:text>
    </xsl:if>
  </xsl:template>

  <xsl:template match="enum|generic|interface|class|struct">
    <xsl:text>|| [</xsl:text>
    <xsl:value-of select="@wikiLink"/>
    <xsl:text> </xsl:text>
    <xsl:value-of select="@caption"/>
    <xsl:text>] || </xsl:text>
    <xsl:apply-templates mode="singleLine" select="comments/summary"/>
    <xsl:text> ||
</xsl:text>
  </xsl:template>
</xsl:stylesheet>
